home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ____HHHHEEEERRRR2222KKKK((((3333FFFF)))) ____HHHHEEEERRRR2222KKKK((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- zher2k, cher2k - BLAS level three Hermitian Rank 2K Update
-
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzhhhheeeerrrr2222kkkk(((( uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb(((( llllddddbbbb,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee cccchhhheeeerrrr2222kkkk(((( uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc
- ccccoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
- ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb(((( llllddddbbbb,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
-
-
- CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzhhhheeeerrrr2222kkkk(((( uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc ))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc;;;;
- ZZZZoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
- ZZZZoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
-
- vvvvooooiiiidddd zzzzhhhheeeerrrr2222kkkk(((( uuuupppplllloooo,,,,ttttrrrraaaannnnssss,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,bbbb,,,,llllddddbbbb,,,,bbbbeeeettttaaaa,,,,cccc,,,,llllddddcccc ))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddbbbb,,,, llllddddcccc;;;;
- CCCCoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
- CCCCoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
-
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- zzzzhhhheeeerrrr2222kkkk and cccchhhheeeerrrr2222kkkk perform one of the hermitian rank 2k operations
-
- C := alpha*A*conjg( B' ) + conjg( alpha )*B*conjg( A' ) + beta*C,
-
- or
-
- C := alpha*conjg( A' )*B + conjg( alpha )*conjg( B' )*A + beta*C,
-
- where alpha and beta are scalars with beta real, C is an n by n hermitian
- matrix and A and B are n by k matrices in the first case and k by n
- matrices in the second case.
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- ____HHHHEEEERRRR2222KKKK((((3333FFFF)))) ____HHHHEEEERRRR2222KKKK((((3333FFFF))))
-
-
-
- PARAMETERS
- uuuupppplllloooo On entry, uuuupppplllloooo specifies whether the matrix is an upper or lower
- triangular matrix as follows:
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- uplo = 'U' or 'u' Only the upper triangular part of C
- is to be referenced.
- uplo = 'L' or 'l' Only the lower triangular part of C
- is to be referenced.
-
- CCCC
- uplo = UpperTriangle Only the upper triangular part of C
- is to be referenced.
- uplo = LowerTriangle Only the lower triangular part of C
- is to be referenced.
-
- Unchanged on exit.
-
- ttttrrrraaaannnnssss On entry, ttttrrrraaaannnnssss specifies the operation to be performed as
- follows:
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- trans = 'N' or 'n' C := alpha*A*conjg( B' ) +
- conjg( alpha )*B*conjg( A' ) +
- beta*C.
- trans = 'C' or 'c' C := alpha*conjg( A' )*B +
- conjg( alpha )*conjg( B' )*A +
- beta*C.
-
- CCCC
- trans = NoTranspose C := alpha*A*conjg( B' ) +
- conjg( alpha )*B*conjg( A' ) +
- beta*C.
- trans = ConjugateTranspose C := alpha*conjg( A' )*B +
- conjg( alpha )*conjg( B' )*A +
- beta*C.
-
- Unchanged on exit.
-
- nnnn On entry, nnnn specifies the order of the matrix C. nnnn must be at
- least zero.
- Unchanged on exit.
-
- kkkk On entry with, trans = 'N' or 'n' or NoTranspose kkkk specifies the
- number of columns of the matrices A and B, and on entry with
- trans = 'T' or 't' or Transpose, kkkk specifies the number of rows
- of the matries A and B. K must be at least zero.
- Unchanged on exit.
-
- aaaallllpppphhhhaaaa specifies the scalar alpha.
- Unchanged on exit.
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- ____HHHHEEEERRRR2222KKKK((((3333FFFF)))) ____HHHHEEEERRRR2222KKKK((((3333FFFF))))
-
-
-
- aaaa An array containing the matrix A.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- Array of dimension (lda, ka).
-
- CCCC
- A pointer to an array of size lda*ka.
- See note below about array storage convention for C.
-
- kkkkaaaa is kkkk when transa = 'N' or 'n' or NoTranspose and is nnnn
- otherwise. Before entry with trans = 'N' or 'n' or NoTranspose,
- the leading n by k part of the array aaaa must contain the matrix A,
- otherwise the leading k by n part of the array aaaa must contain
- the matrix A.
-
- Unchanged on exit.
-
- llllddddaaaa On entry, llllddddaaaa specifies the first dimension of aaaa as declared in
- the calling (sub) program. When transa = 'N' or 'n' or
- NoTranspose, then lda must be at least max( 1, n ), otherwise lda
- must be at least max( 1, k ).
- Unchanged on exit.
-
- bbbb An array containing the matrix B.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- Array of dimension (lda, kb).
-
- CCCC
- A pointer to an array of size lda*kb.
- See note below about array storage convention for C.
-
- kkkkbbbb is kkkk when transa = 'N' or 'n' or NoTranspose and is nnnn
- otherwise. Before entry with trans = 'N' or 'n' or NoTranspose,
- the leading n by k part of the array bbbb must contain the matrix B,
- otherwise the leading k by n part of the array bbbb must contain
- the matrix B.
-
- Unchanged on exit.
-
- llllddddbbbb On entry, llllddddbbbb specifies the first dimension of bbbb as declared in
- the calling (sub) program. When trans = 'N' or 'n' or
- NoTranspose, then ldb must be at least max( 1, n ), otherwise lda
- must be at least max( 1, k ).
- Unchanged on exit.
-
- The matrices are assumed to be stored in a oooonnnneeee ddddiiiimmmmeeeennnnssssiiiioooonnnnaaaallll CCCC aaaarrrrrrrraaaayyyy
- in an analogous fashion as a Fortran array (column major). Therefore,
- the element A(i+1,j) of matrix A is stored immediately after the
- element A(i,j), while A(i,j+1) is lda elements apart from A(i,j).
- The element A(i,j) of the matrix can be accessed directly by reference
- to a[ (j-1)*lda + (i-1) ].
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- ____HHHHEEEERRRR2222KKKK((((3333FFFF)))) ____HHHHEEEERRRR2222KKKK((((3333FFFF))))
-
-
-
- AAAAUUUUTTTTHHHHOOOORRRRSSSS
- Jack Dongarra, Argonne National Laboratory.
- Iain Duff, AERE Harwell.
- Jeremy Du Croz, Numerical Algorithms Group Ltd.
- Sven Hammarling, Numerical Algorithms Group Ltd.
-
-
- TTTTUUUUNNNNIIIINNNNGGGG
- Optimized and parallelized for SGI R3000, R4x00 and R8000 platforms.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-